package common_msg

import (
	"iron_man_comm/src/goroslib/pkg/msg"
	"iron_man_comm/src/goroslib/pkg/msgs/std_msgs"
)

const (
	ControlCleanDevice_WindGearClose                 uint16 = 0
	ControlCleanDevice_WindGearSignalSweepQuite      uint16 = 1
	ControlCleanDevice_WindGearSignalSweepStandard   uint16 = 2
	ControlCleanDevice_WindGearSignalSweepPower      uint16 = 3
	ControlCleanDevice_WindGearSignalSweepSuperPower uint16 = 4
	ControlCleanDevice_WindGearSignalSweepMax        uint16 = 5
	ControlCleanDevice_WindGearSweepMopQuite         uint16 = 6
	ControlCleanDevice_WindGearSweepMopStandard      uint16 = 7
	ControlCleanDevice_WindGearSweepMopPower         uint16 = 8
	ControlCleanDevice_WindGearSweepMopSuperPower    uint16 = 9
	ControlCleanDevice_WindGearCarpetPower           uint16 = 10
	ControlCleanDevice_WaterPumpClose                uint16 = 0
	ControlCleanDevice_WaterPumpOpening              uint16 = 1
	ControlCleanDevice_WaterPumpLow                  uint16 = 2
	ControlCleanDevice_WaterPumpMiddle               uint16 = 3
	ControlCleanDevice_WaterPumpHigh                 uint16 = 4
)

type ControlCleanDevice struct {
	msg.Package      `ros:"common_msg"`
	msg.Definitions  `ros:"uint16 WindGearClose=0,uint16 WindGearSignalSweepQuite=1,uint16 WindGearSignalSweepStandard=2,uint16 WindGearSignalSweepPower=3,uint16 WindGearSignalSweepSuperPower=4,uint16 WindGearSignalSweepMax=5,uint16 WindGearSweepMopQuite=6,uint16 WindGearSweepMopStandard=7,uint16 WindGearSweepMopPower=8,uint16 WindGearSweepMopSuperPower=9,uint16 WindGearCarpetPower=10,uint16 WaterPumpClose=0,uint16 WaterPumpOpening=1,uint16 WaterPumpLow=2,uint16 WaterPumpMiddle=3,uint16 WaterPumpHigh=4"`
	Header           std_msgs.Header
	WindFlag         bool   `rosname:"windFlag"`
	EdgeBrushFlag    bool   `rosname:"edgeBrushFlag"`
	RollBrushFlag    bool   `rosname:"rollBrushFlag"`
	LeftMopFlag      bool   `rosname:"leftMopFlag"`
	RightMopFlag     bool   `rosname:"rightMopFlag"`
	WaterPumpFlag    bool   `rosname:"waterPumpFlag"`
	WindGear         uint16 `rosname:"windGear"`
	EdgeBrushVoltage int16  `rosname:"edgeBrushVoltage"`
	RollBrushVoltage int16  `rosname:"rollBrushVoltage"`
	LeftMopVoltage   int16  `rosname:"leftMopVoltage"`
	LeftMopRunTime   uint8  `rosname:"leftMopRunTime"`
	RightMopVoltage  int16  `rosname:"rightMopVoltage"`
	RightMopRunTime  uint8  `rosname:"rightMopRunTime"`
	WaterPump        uint16 `rosname:"waterPump"`
}
